#include QMK_KEYBOARD_H

enum layer_names {
    _BASE,
    _FN
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  [_BASE] = LAYOUT_68_ansi(
    QK_GESC, 	KC_1,    	KC_2,    	KC_3,    KC_4,    	KC_5,    KC_6,    KC_7,    	KC_8,    	KC_9,    	KC_0,    	KC_MINS, 	KC_EQL,  	KC_BSPC, 	KC_INS,		KC_PGUP,
    KC_TAB,  	KC_Q,    	KC_W,    	KC_E,    KC_R,    	KC_T,    KC_Y,    KC_U,    	KC_I,    	KC_O,    	KC_P,    	KC_LBRC, 	KC_RBRC, 	KC_BSLS, 	KC_DEL,		KC_PGDN,
    KC_CAPS, 	KC_A,    	KC_S,    	KC_D,    KC_F,    	KC_G,    KC_H,    KC_J,    	KC_K,    	KC_L,    	KC_SCLN, 	KC_QUOT, 				KC_ENT,
    KC_LSFT, 	KC_Z,    	KC_X,    	KC_C,    KC_V,    	KC_B,    KC_N,    KC_M,    	KC_COMM, 				KC_DOT,  	KC_SLSH, 				KC_RSFT,	KC_UP,
    KC_LCTL , 	KC_LGUI , 	KC_LALT ,                      	KC_SPC ,											KC_RALT , 	MO(_FN) ,	KC_RCTL, 	KC_LEFT,	KC_DOWN,	KC_RIGHT
  ),

  [_FN] = LAYOUT_68_ansi(
    KC_GRV, 	KC_F1,   	KC_F2,   	KC_F3,   KC_F4,   	KC_F5,   KC_F6,   KC_F7,   	KC_F8,   	KC_F9,   	KC_F10,  	KC_F11,  	KC_F12,  	_______,	KC_MPLY,	KC_HOME,
    _______, 	UG_NEXT, 	UG_HUEU,   	UG_SATU, UG_VALU, 	_______, _______, _______, 	_______, 	_______, 	KC_PSCR, 	KC_SCRL, 	KC_PAUSE,  	_______,	KC_MUTE,	KC_END,
    _______,	UG_TOGG, 	UG_HUED, 	UG_SATD, UG_VALD, 	_______, _______, _______, 	_______, 	_______, 	_______, 	_______, 				_______,
    _______,	_______, 	_______, 	_______, _______, 	_______, _______, _______,	_______, 				_______, 	_______, 				_______,	KC_VOLU,
    _______, 	GU_TOGG,    _______, 						QK_BOOT, 											_______,	_______,	_______,	KC_MPRV,    KC_VOLD, 	KC_MNXT
  )
};
